﻿using EentitfFrameworkMvc.Models;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;

namespace EentitfFrameworkMvc.Controllers
{
    [EnableCors]  //对该控制器类开启跨域请求，在Program.cs中配置跨域信息
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class ImageController : Controller
    {
        //实例化数据库上下文
        private readonly Data01Context _context;
        //向控制器类注入数据库字符串
        public ImageController(Data01Context context)
        {
            _context = context;
        }

        [HttpGet]
        public IActionResult getphotodata()
        {
            var data = _context.Images.Where(x => x.ImageId == 1).FirstOrDefault(); // 获取包含varbinary(max)数据的实体  
            if (data != null)
            {
                var byteArray = new byte[data.ImageData.Length]; // 将varbinary(max)数据转换为字节数组  
                data.ImageData.CopyTo(byteArray, 0); // 将字节数组复制到内存中  
                return Ok(byteArray); // 将字节数组作为响应返回给前端  
            }
            else
            {
                return NotFound(); // 如果找不到数据，返回NotFound状态码  
            }
        }
    }
}
